import requests
import json
import hashlib

# 定义百度翻译API的请求地址和需要的参数
url = 'http://api.fanyi.baidu.com/api/trans/vip/translate'
appid = '20230612001709633'
secretKey = 'TqosqdTnIkZpHTCruIpa'

# 定义翻译函数，传入需要翻译的text和目标语言toLang，返回翻译结果
def translate(text, toLang):
    # 拼接请求地址和参数
    salt = '12345678'
    sign = appid + text + salt + secretKey
    sign = hashlib.md5(sign.encode()).hexdigest()
    params = {
        'q': text,
        'from': 'auto',  # 自动检测语言
        'to': toLang,
        'appid': appid,
        'salt': salt,
        'sign': sign
    }
    response = requests.get(url, params=params)
    # 解析翻译结果并返回
    try:
        result = json.loads(response.text)
        dst = result['trans_result'][0]['dst']
    except KeyError:
        print('翻译失败，API返回结果中没有"trans_result"键！')
        dst = ''
    return dst

# 主程序
while True:
    # 选择翻译对
    print('请选择翻译对：')
    print('1. 英语 -> 中文')
    print('2. 中文 -> 英语')
    choice = input('请输入数字选择：')
    if choice == '1':
        toLang = 'zh'
    elif choice == '2':
        toLang = 'en'
    else:
        print('选择错误，请重新选择！')
        continue
    # 输入需要翻译的文本，输入Quit退出程序
    text = input('请输入需要翻译的文本：')
    if text.lower() == 'quit':
        break
    # 调用翻译函数并打印结果
    result = translate(text, toLang)
    if result != '':
        print('翻译结果：', result)